/*
 * This file is part of KubeSphere Console.
 * Copyright (C) 2019 The KubeSphere Console Authors.
 *
 * KubeSphere Console is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * KubeSphere Console is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with KubeSphere Console.  If not, see <https://www.gnu.org/licenses/>.
 */

export default {
  SERVICE_EXTERNAL_NAME_DESC:
    'Map the service to the contents of the externalName field by returning a CNAME record with its value',
  TOTAL_WORKLOAD: '{ count } workloads in total',

  SERVICE_SELECTOR_AFFECT_1: '',
  SERVICE_SELECTOR_AFFECT_2: ' affect {count} workloads',

  SERVICE_NAME_DESC:
    'It can only contain lowercase letters, numbers and hyphens("-"), and must begin with a lowercase letter, ending with a number or lowercase letter. The maximum length of characters is set to 63.',

  SERVICE_DESC:
    'A Service is an abstraction that defines a logical collection of Pods and a strategy for accessing them.',
  SERVICE_CREATE_DESC:
    'A Service is an abstraction that defines a logical collection of Pods and a strategy for accessing them.',

  SERVICES_BASEINFO_DESC:
    'The name and description of the service need to be provided to create the service. The service name cannot be the same as the existing service name under the same project.',
  SERVICES_SETTINGS_DESC:
    'Service settings define how to access an existing workload.',

  SERVICES_INTERNET_ACCESS_DESC: 'Expose the service outside of the cluster.',

  VIRTUAL_IP_TITLE:
    'Virtual IP: Access the service through the internal IP of the cluster',
  VIRTUAL_IP_DESC:
    'Based on the unique IP generated by the cluster. The IP can be used to access the service inside the cluster.',
  HEADLESS_SELECTOR_TITLE:
    'Headless (selector): Direct access to the service through the endpoint IP of the service inside the cluster',
  HEADLESS_SELECTOR_DESC:
    'The cluster will not create an IP for the service. Instead, clients within the cluster access it through its endpoints directly. For example, services that need to distinguish master from slave.',
  HEADLESS_EXTERNAL_NAME_TITLE:
    'Headless (externalname): Map addresses outside the cluster to visit',
  HEADLESS_EXTERNAL_NAME_DESC: 'Map external services to a cluster or project.',

  ACCESS_NONE_TIP: 'Make the service accessible internally only',
  ACCESS_NODEPORT_TIP: 'Expose the service on each Node’s IP at a static port',
  ACCESS_LOADBALANCER_TIP:
    'Expose the service externally using the cloud provider’s load balancer',

  SERVICE_NODE_PORT_DESC:
    'If your current network is on the same network as the cluster node, you can access it through the cluster IP address + node port number or through the node IP + node port.',

  SERVICE_TYPE: 'You can create stateless service or stateful service',

  SERVICE_TYPES_Q: 'Service types',
  SERVICE_TYPES_A:
    'The service is divided into a stateless service (Virtual Service + Depolyment) and a stateful service (Headless Service + Statefulset). In a stateless service, replicas can share one volume, and a stateful service needs to have its own independent volume.',

  SCENARIOS_FOR_SERVICES_Q:
    'Usage scenarios for stateless services and stateful services?',
  SCENARIOS_FOR_SERVICES_A:
    'Stateless services are useful for scenarios where persistent data is not stored locally and multiple instances respond to uniform requests (eg, Nginx, Tomcat, etc.). Stateful services are available for services that require data storage, or for multi-threaded services, queues, etc. (MySQL database, Kafka, ZooKeeper, etc.).',
  SERVICE_SIMPLE_DESC: 'Create a service from an existing pods group',
  DELETE_SERVICE_DESC:
    'You are about to delete the service(s) {resource}. Please confirm whether to delete the associated resource?',
  SERVICE_FROM_CODE: 'Build a new service from source code repository',
  SERVICE_FROM_ARTIFACTS: 'Build a new service through the artifact',
  SERVICE_FROM_CODE_DESC:
    'You can build your existing code into a image and deploy it by Source to Image',
  SERVICE_FROM_ARTIFACTS_DESC:
    'You can build an existing artifact into a new image and complete the deployment',

  SERVICE_CUSTOM_CREATE:
    'You can specify a workload to create a service or by editing the configuration (Yaml)',

  SERVICE_TYPE_STATEFULSERVICE: 'Stateful Service',
  SERVICE_TYPE_STATELESSSERVICE: 'Stateless Service',
  SERVICE_TYPE_EXTERNALSERVICE: 'External Service',
  STATEFUL_SERVICE_DESC:
    'Stateful services are used to manage stateful applications, ensuring the order of deployment and capacity expansion, providing stable persistent storage and network identification, orderly scaling, etc.',
  STATELESS_SERVICE_DESC:
    'The most commonly used service in container services, by controlling container group templates to control container group status, including rolling upgrades and rollbacks',

  SERVISE_SIMPLE_DESC: '',

  SERVICE_PORTS_DESC:
    'Set the port exposed by the container image and the service port',

  SPECIFY_WORKLOAD_DESC:
    'Specify a workload that need to associate with the service',
}
